#  Copyright 2012 Eric Lawrey, Australian Institute of Marine Science
#
#   Licensed under the Apache License, Version 2.0 (the "License");
#   you may not use this file except in compliance with the License.
#   You may obtain a copy of the License at
#
#       http://www.apache.org/licenses/LICENSE-2.0
#
#   Unless required by applicable law or agreed to in writing, software
#   distributed under the License is distributed on an "AS IS" BASIS,
#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#   See the License for the specific language governing permissions and
#   limitations under the License.

################################################
#       VERTICALLY FILL in EMPTY CELLS         #
################################################

# For each column and for each row copy the previous value known 
# value for the column if the cell is empty (""). Not an overly efficient
# algorithm but should be fast enough.
fillEmptyCells <- function(dataFrame) {
  for (x in 1:ncol(dataFrame)) {
    currentColumnValue <- ""
    for (y in 1:nrow(dataFrame)) {
      # If the cell isn't empty update current known value
      if (dataFrame[y,x]!="") {
        currentColumnValue <- dataFrame[y,x] 
      } else {
        # cell is empty so fill in the last know value
        dataFrame[y,x] <- currentColumnValue
      }
    }
  }
  return(dataFrame)
}